#ifndef LIST_H_
#define LIST_H_

#include "NodeList.h"
#include "Functions.h"
#include <cstring>


class List {
private:
	NodeList* root;
	NodeList* current;
	unsigned int cantElementos;

public:
	List();
	virtual ~List();
	void insertar(TermYFrecQuery* nodo);
	void insertar(string token, vector<Data>* datos);
	TermYFrecQuery* buscar(string token);

	void appendElement(TermYFrecQuery* element);
	void removeElement();

	void setElement(TermYFrecQuery* element);
	TermYFrecQuery* getElement();
	TermYFrecQuery* getElement(int);

	int getSize();
	bool isEmpty();
	void moveRoot();
	bool movePrev();
	bool moveNext();
	void dispose();
	void dispose(unsigned int);
};


#endif /* LIST_H_ */
